import { _decorator, Button, Component, Label, Node, Sprite } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('LeveLManager')
export class LeveLManager extends Component {



    @property(Node)
    levelContainer: Node = null;  // 存放关卡的容器

    @property(Button)
    prevButton: Button = null;    // 上一页按钮

    @property(Button)
    nextButton: Button = null;    // 下一页按钮

    @property(Label)
    pageLabel: Label = null;      // 当前页数显示

    private currentPage: number = 1;  // 当前页
    private totalLevels: number = 300; // 关卡总数
    private levelsPerPage: number = 9; // 每页关卡数量
    private totalPages: number = Math.ceil(this.totalLevels / this.levelsPerPage); // 总页数

    start() {
        this.updatePage();
        this.prevButton.node.on('click', this.onPrevPage, this);
        this.nextButton.node.on('click', this.onNextPage, this);
    }

    // 更新页面内容
    updatePage() {
        // 清空当前页面的关卡
        this.levelContainer.removeAllChildren();

        // 计算当前页要显示的关卡范围
        let startLevel = (this.currentPage - 1) * this.levelsPerPage;
        let endLevel = Math.min(startLevel + this.levelsPerPage, this.totalLevels);

        // 动态创建关卡（这里只是简单的模拟）
        for (let i = startLevel; i < endLevel; i++) {
            let levelNode = new Node('Level ' + (i + 1));
            let button = levelNode.addComponent(Button);
            let sprite = levelNode.addComponent(Sprite);

            // 设置关卡内容，例如设置按钮的标签或图片（这里以设置文字为例）
            let label = levelNode.addComponent(Label);
            label.string = `关卡 ${i + 1}`;

            // 将新创建的关卡添加到容器中
            this.levelContainer.addChild(levelNode);
        }

        // 更新翻页按钮状态
        this.prevButton.interactable = this.currentPage > 1;
        this.nextButton.interactable = this.currentPage < this.totalPages;

        // 更新当前页标签
        this.pageLabel.string = `${this.currentPage} / ${this.totalPages}`;
    }

    // 上一页按钮逻辑
    onPrevPage() {
        if (this.currentPage > 1) {
            this.currentPage--;
            this.updatePage();
        }
    }

    // 下一页按钮逻辑
    onNextPage() {
        if (this.currentPage < this.totalPages) {
            this.currentPage++;
            this.updatePage();
        }
    }
}


